The increasing sophistication of mobile electronic devices is related in no small part to the increasing sophistication of the software that operates on these devices. Fortunately, there are consistently significant improvements in software development that only improves the performance and desirability of these mobile devices. Unfortunately, software products in general are often subject to updates, upgrades and various modifications that require the installation of a new software product on the mobile device.
Currently, some cellular carriers provide software upgrades over the air by transmitting the software to the devices through the cellular network. One example of this procedure is described in U.S. Pat. No. 7,065,347 to Vikse, et al. The Vikse patent discloses distributing, en masse, a computer program to a number of cellular phones through the cellular network. The cellular phones receive the software upgrade and write it to their local memory device, after which time it is operable on the cellular phone. However, the cellular network methodology is unsuitable for a number of other types of devices that may not have cellular connections.
Secondly, a number of mobile platforms have multiple devices, each of which can have its own memory, processor, operating system and the like, and all of which may not require and/or be able to receive a particular software update. Lastly, many mobile platform users have traditionally been upgraded manually. Manual upgrades can be a tedious and expensive process, and users have avoided getting manual software upgrades, which only multiplies the number of software versions in the field at any given time. The upgrade mechanism, therefore, needs to accommodate upgrading from different base version to the latest. With so many software versions in the field, the proposed solution by Vikse is simply not operable for a host of mobile platforms.
Therefore, there is a need in the art for a system and method for upgrading software over a satellite link that makes efficient use of the bandwidth and data rate restrictions of satellite communications while being adaptable enough to handle multiple versions of software and multiple types of mobile devices.